package com.hejia.alauda.service;

import java.util.List;
import com.hejia.alauda.entity.RedEnvelope;
import com.hejia.alauda.entity.Redpacket;
import com.hejia.alauda.entity.example.RedpacketExample;
import com.hejia.alauda.utils.Pager;

/**
 * 
 * 
 *
 *
 * Created by showone on 2014 下午1:11:01.
 */
public interface RedEnvelopeService {

	/**
	 * 创建红包
	 * 
	 * @param redEnvelope
	 *            红包
	 * @return
	 */
	boolean createRedEnvelope(RedEnvelope redEnvelope);

	/**
	 * 根据红包ID获取红包
	 * 
	 * @param id
	 *            红包ID
	 * @return
	 */
	RedEnvelope getRedEnvelopeById(Long id);

	/**
	 * 根据红包接收人ID获取红包列表
	 * 
	 * @param id
	 *            红包ID
	 * @return
	 */
	List<RedEnvelope> getRedEnvelopesBySendeeId(Long sendeeId);

	/**
	 * 查询所有红包管理
	 *
	 * @param pager
	 * @return
	 */
	public Pager<Redpacket> findAllRedpacket(Pager<Redpacket> pager);

	/**
	 * 查询所有红包管理
	 *
	 * @param pager
	 * @param example
	 * @return
	 */
	public Pager<Redpacket> findAllRedpacket(Pager<Redpacket> pager,
			RedpacketExample example);

	/**
	 * 保存红包管理
	 *
	 * @param redpacket
	 * @return
	 */
	public boolean saveRedpacket(Redpacket redpacket);

	/**
	 * 根据ID获取红包管理
	 *
	 * @param id
	 * @return
	 */
	public Redpacket getRedpacketById(Long id);

	/**
	 * 根据Code获取红包管理
	 *
	 * @param code
	 * @return
	 */
	public Redpacket getRedpacketByCode(String code);
	/**
	 * 修改红包管理
	 *
	 * @param redpacket
	 * @return
	 */
	public boolean modifyRedpacket(Redpacket redpacket);

	/**
	 * 删除红包管理
	 *
	 * @param id
	 * @return
	 */
	public boolean deleteRedpacket(Long id);
	
	/**
	 * 查询所有的红包配置
	 * @return
	 */
	public List<Redpacket> findAllRedpackets();
}
